The present disclosure relates to load balancing logical units in an active/passive storage system. More particularly, the present disclosure relates to dynamically updating preferred controller ownership of logical units to balance data traffic loads passing through the storage controllers.
A storage area network (SAN) is a dedicated network that provides access to consolidated, block level data storage. SANs are primarily used to make storage resources (e.g., disk arrays, tape libraries, optical jukeboxes, etc.) accessible to servers such that the resources appear as locally attached devices to the operating system.
A SAN typically includes file systems, which are logical storage abstraction mappings to the physical storage resources (storage virtualization). In a block-based storage environment, a single block of information is addressed using a logical unit (LUN) identifier and an offset within that LUN—known as a logical block addressing (LBA). The LUN identifier identifies a logical unit from multiple LUNs and is essential for managing block storage arrays of a storage area network (SAN). A typical LUN may be used with any storage resource that supports read/write processes.
A SAN may include several storage controllers that interface host systems to the LUNs. Multi-controller storage systems may be configured in an active/active configuration or an active/passive configuration. In an active/passive configuration, the SAN specifies a “preferred controller” for each logical unit. As such, a host operating system uses the preferred controller to access a particular logical unit as long as the controller is available. When the preferred controller is unavailable (e.g., network connection issue, device issue, etc.), the host operating system accesses the SAN's other storage controller.